/**
 * @projectName 高校就业网
 * @package com.kzj.CollegeEmploymentNetwork.model
 * @className com.kzj.CollegeEmploymentNetwork.model.EducationExperience
 * @copyright Copyright 2025 Thunisoft, Inc. All rights reserved.
 */
package com.kzj.CollegeEmploymentNetwork.model;

import javax.persistence.Column;
import javax.persistence.Table;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import lombok.experimental.SuperBuilder;
import com.kzj.CollegeEmploymentNetwork.common.BaseEntity;
import javax.validation.constraints.Size;
import com.kzj.CollegeEmploymentNetwork.validate.Validate;
import com.thunisoft.artery.data.annotation.CodeType;


/**
 * EducationExperience
 *
 * @description 教育经历表实体
 * @author kzj
 * @date 2025年01月20日 23:11:54
 * @version 1.0.0
 **/
@ApiModel("教育经历表")
@Table(name="db_recruit.t_education_experience")    
@Getter
@Setter
@ToString
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class EducationExperience extends BaseEntity{
    
    /**
     * serialVersionUID
     */
    private static final long serialVersionUID = 1L;
    
    /**
     * 外键：应聘者
     */
    @ApiModelProperty("外键：应聘者")
    @Column(name = "c_bh_candidate", columnDefinition = "varchar(32)")
    @Size(max = 32, groups = {Validate.class}, message = "外键：应聘者的最大长度为32")
    private String bhCandidate;

    /**
     * 学历
     */
    @ApiModelProperty("学历")
    @Column(name = "n_education_background")
    @CodeType("cy_006")
    private Integer educationBackground;

    /**
     * 是否全日制
     */
    @ApiModelProperty("是否全日制")
    @Column(name = "n_full_time")
    @CodeType("cy_008")
    private Integer fullTime;

    /**
     * 学校
     */
    @ApiModelProperty("学校")
    @Column(name = "n_school")
    @CodeType("cy_007")
    private Integer school;

    /**
     * 学校名称（cy_007中不存在时使用该字段）
     */
    @ApiModelProperty("学校名称（cy_007中不存在时使用该字段）")
    @Column(name = "c_school_name", columnDefinition = "varchar(300)")
    @Size(max = 300, groups = {Validate.class}, message = "学校名称（cy_007中不存在时使用该字段）的最大长度为300")
    private String schoolName;

    /**
     * 主修课程
     */
    @ApiModelProperty("主修课程")
    @Column(name = "c_major_course", columnDefinition = "varchar(300)")
    @Size(max = 300, groups = {Validate.class}, message = "主修课程的最大长度为300")
    private String majorCourse;

    /**
     * 开始年份
     */
    @ApiModelProperty("开始年份")
    @Column(name = "n_start_year")
    private Integer startYear;

    /**
     * 结束年份
     */
    @ApiModelProperty("结束年份")
    @Column(name = "n_end_year")
    private Integer endYear;

    /**
     * 专业
     */
    @ApiModelProperty("专业")
    @Column(name = "n_major")
    @CodeType("cy_0014")
    private Integer major;

    /**
     * 专业排名
     */
    @ApiModelProperty("专业排名")
    @Column(name = "n_major_ranking")
    @CodeType("cy_0015")
    private Integer majorRanking;

    /**
     * 在校经历
     */
    @ApiModelProperty("在校经历")
    @Column(name = "c_experience", columnDefinition = "varchar(900)")
    @Size(max = 900, groups = {Validate.class}, message = "在校经历的最大长度为900")
    private String experience;

}